package com.derbysoft.synxisadapter.commons.repository;

import com.derbysoft.core.Limit;
import com.derbysoft.core.LimitedList;
import com.derbysoft.synxisadapter.commons.model.TransactionLog;
import com.derbysoft.synxisadapter.commons.repository.impl.DMXTransactionLogCondition;
import com.derbysoft.synxisadapter.commons.repository.impl.TransactionLogCondition;

public interface TransactionLogRepository {
    LimitedList<TransactionLog> findByCondition(DMXTransactionLogCondition condition, Limit limit);

    LimitedList<TransactionLog> findByCondition(TransactionLogCondition condition, Limit limit);

    TransactionLog findById(Long id);

    void create(TransactionLog transactionLog);

    int removeExpired(int keepLogDays, boolean error, int batchSize);
}
